home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Kompresni & kodovaci programy / ucl-0.91 / acconfig / config.sub < prev    next >
Text File  |  1999-09-25  |  25KB  |  1,233 lines

  1. #! /bin/sh
  2. # Configuration validation subroutine script, version 1.1.
  3. #   Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc.
  4. # This file is (in principle) common to ALL GNU software.
  5. # The presence of a machine in this file suggests that SOME GNU software
  6. # can handle that machine.  It does not imply ALL GNU software can.
  7. #
  8. # This file is free software; you can redistribute it and/or modify
  9. # it under the terms of the GNU General Public License as published by
  10. # the Free Software Foundation; either version 2 of the License, or
  11. # (at your option) any later version.
  12. #
  13. # This program is distributed in the hope that it will be useful,
  14. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16. # GNU General Public License for more details.
  17. #
  18. # You should have received a copy of the GNU General Public License
  19. # along with this program; if not, write to the Free Software
  20. # Foundation, Inc., 59 Temple Place - Suite 330,
  21. # Boston, MA 02111-1307, USA.
  22.  
  23. # As a special exception to the GNU General Public License, if you
  24. # distribute this file as part of a program that contains a
  25. # configuration script generated by Autoconf, you may include it under
  26. # the same distribution terms that you use for the rest of that program.
  27.  
  28. # Configuration subroutine to validate and canonicalize a configuration type.
  29. # Supply the specified configuration type as an argument.
  30. # If it is invalid, we print an error message on stderr and exit with code 1.
  31. # Otherwise, we print the canonical config type on stdout and succeed.
  32.  
  33. # This file is supposed to be the same for all GNU packages
  34. # and recognize all the CPU types, system types and aliases
  35. # that are meaningful with *any* GNU software.
  36. # Each package is responsible for reporting which valid configurations
  37. # it does not support.  The user should be able to distinguish
  38. # a failure to support a valid configuration from a meaningless
  39. # configuration.
  40.  
  41. # The goal of this file is to map all the various variations of a given
  42. # machine specification into a single specification in the form:
  43. #    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
  44. # or in some cases, the newer four-part form:
  45. #    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
  46. # It is wrong to echo any other type of specification.
  47.  
  48. if [ x$1 = x ]
  49. then
  50.     echo Configuration name missing. 1>&2
  51.     echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
  52.     echo "or     $0 ALIAS" 1>&2
  53.     echo where ALIAS is a recognized configuration type. 1>&2
  54.     exit 1
  55. fi
  56.  
  57. # First pass through any local machine types.
  58. case $1 in
  59.     *local*)
  60.         echo $1
  61.         exit 0
  62.         ;;
  63.     *)
  64.     ;;
  65. esac
  66.  
  67. # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
  68. # Here we must recognize all the valid KERNEL-OS combinations.
  69. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
  70. case $maybe_os in
  71.   linux-gnu*)
  72.     os=-$maybe_os
  73.     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
  74.     ;;
  75.   *)
  76.     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
  77.     if [ $basic_machine != $1 ]
  78.     then os=`echo $1 | sed 's/.*-/-/'`
  79.     else os=; fi
  80.     ;;
  81. esac
  82.  
  83. ### Let's recognize common machines as not being operating systems so
  84. ### that things like config.sub decstation-3100 work.  We also
  85. ### recognize some manufacturers as not being operating systems, so we
  86. ### can provide default operating systems below.
  87. case $os in
  88.     -sun*os*)
  89.         # Prevent following clause from handling this invalid input.
  90.         ;;
  91.     -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
  92.     -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
  93.     -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
  94.     -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
  95.     -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
  96.     -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
  97.     -apple)
  98.         os=
  99.         basic_machine=$1
  100.         ;;
  101.     -sim | -cisco | -oki | -wec | -winbond)
  102.         os=
  103.         basic_machine=$1
  104.         ;;
  105.     -scout)
  106.         ;;
  107.     -wrs)
  108.         os=-vxworks
  109.         basic_machine=$1
  110.         ;;
  111.     -hiux*)
  112.         os=-hiuxwe2
  113.         ;;
  114.     -sco5)
  115.         os=-sco3.2v5
  116.         basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  117.         ;;
  118.     -sco4)
  119.         os=-sco3.2v4
  120.         basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  121.         ;;
  122.     -sco3.2.[4-9]*)
  123.         os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
  124.         basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  125.         ;;
  126.     -sco3.2v[4-9]*)
  127.         # Don't forget version if it is 3.2v4 or newer.
  128.         basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  129.         ;;
  130.     -sco*)
  131.         os=-sco3.2v2
  132.         basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  133.         ;;
  134.     -udk*)
  135.         basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  136.         ;;
  137.     -isc)
  138.         os=-isc2.2
  139.         basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  140.         ;;
  141.     -clix*)
  142.         basic_machine=clipper-intergraph
  143.         ;;
  144.     -isc*)
  145.         basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  146.         ;;
  147.     -lynx*)
  148.         os=-lynxos
  149.         ;;
  150.     -ptx*)
  151.         basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
  152.         ;;
  153.     -windowsnt*)
  154.         os=`echo $os | sed -e 's/windowsnt/winnt/'`
  155.         ;;
  156.     -psos*)
  157.         os=-psos
  158.         ;;
  159.     -mint | -mint[0-9]*)
  160.         basic_machine=m68k-atari
  161.         os=-mint
  162.         ;;
  163. esac
  164.  
  165. # Decode aliases for certain CPU-COMPANY combinations.
  166. case $basic_machine in
  167.     # Recognize the basic CPU types without company name.
  168.     # Some are omitted here because they have special meanings below.
  169.     tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
  170.         | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
  171.         | 580 | i960 | h8300 \
  172.         | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
  173.         | alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
  174.         | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
  175.         | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
  176.         | mips64orion | mips64orionel | mipstx39 | mipstx39el \
  177.         | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
  178.         | mips64vr5000 | miprs64vr5000el | mcore \
  179.         | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
  180.         | thumb | d10v | fr30)
  181.         basic_machine=$basic_machine-unknown
  182.         ;;
  183.     m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
  184.         ;;
  185.  
  186.     # We use `pc' rather than `unknown'
  187.     # because (1) that's what they normally are, and
  188.     # (2) the word "unknown" tends to confuse beginning users.
  189.     i[34567]86)
  190.       basic_machine=$basic_machine-pc
  191.       ;;
  192.     # Object if more than one company name word.
  193.     *-*-*)
  194.         echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
  195.         exit 1
  196.         ;;
  197.     # Recognize the basic CPU types with company name.
  198.     # FIXME: clean up the formatting here.
  199.     vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
  200.           | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
  201.           | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
  202.           | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
  203.           | xmp-* | ymp-* \
  204.           | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
  205.           | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
  206.           | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
  207.           | clipper-* | orion-* \
  208.           | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
  209.           | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
  210.           | mips64el-* | mips64orion-* | mips64orionel-* \
  211.           | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
  212.           | mipstx39-* | mipstx39el-* | mcore-* \
  213.           | f301-* | armv*-* | t3e-* \
  214.           | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
  215.           | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* )
  216.         ;;
  217.     # Recognize the various machine names and aliases which stand
  218.     # for a CPU type and a company and sometimes even an OS.
  219.     386bsd)
  220.         basic_machine=i386-unknown
  221.         os=-bsd
  222.         ;;
  223.     3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
  224.         basic_machine=m68000-att
  225.         ;;
  226.     3b*)
  227.         basic_machine=we32k-att
  228.         ;;
  229.     a29khif)
  230.         basic_machine=a29k-amd
  231.         os=-udi
  232.         ;;
  233.     adobe68k)
  234.         basic_machine=m68010-adobe
  235.         os=-scout
  236.         ;;
  237.     alliant | fx80)
  238.         basic_machine=fx80-alliant
  239.         ;;
  240.     altos | altos3068)
  241.         basic_machine=m68k-altos
  242.         ;;
  243.     am29k)
  244.         basic_machine=a29k-none
  245.         os=-bsd
  246.         ;;
  247.     amdahl)
  248.         basic_machine=580-amdahl
  249.         os=-sysv
  250.         ;;
  251.     ami